package com.mm.cme.kotlin_001.level02.i_000_function

import com.mm.cme.kotlin_001.utils.pl

/**
 * Descriptions：Kotlin中的方法表达方式以及使用方式
 * <p>
 * Author：ChenME
 * Date：2017/7/16
 * Email：ibelieve1210@163.com
 */
fun main(args: Array<String>) {

    checkArgs(args)

    val arg1 = args[0].toInt()
    val arg2 = args[1].toInt()
    pl("$arg1 + $arg2 = ${sum(arg1, arg2)}")

    pl(resultOfFun(12))
}

fun checkArgs(args: Array<String>) {
    if (args.size != 2) {
        printUsage()
        System.exit(1)//退出程序
    }
}

fun printUsage() {
    pl("请输入两个整形参数，例如：1 2")
}

fun sum(arg1: Int, arg2: Int) = arg1 + arg2

/**
 * 匿名函数
 */
val resultOfFun = fun(x: Int) = x.toLong()